﻿using System;
using System.Collections.Generic;
using System.Linq;
using Arch.Data;

namespace Arch.Intercep
{
    public interface IInterceptorManager
    {
        void InfrastructureLoading<T>(IRepository<T> repository) where T : class, new();
        void InfrastructureLoaded<T>(IRepository<T> repository) where T : class, new();
        IEnumerable<T> Loaded<T>(IEnumerable<T> result) where T : class, new();
        object Intercept(object entity, ActionTarget target);
    }
}
